/*
 * Copyright (c) 2011-2014, fortiss GmbH.
 * Licensed under the Apache License, Version 2.0.
 *
 * Use, modification and distribution are subject to the terms specified
 * in the accompanying license file LICENSE.txt located at the root directory
 * of this software distribution. A copy is available at
 * http://chromosome.fortiss.org/.
 *
 * This file is part of CHROMOSOME.
 *
 * $Id: rOSManifest.h 6445 2014-01-22 18:17:52Z kainz $
 */

/**
 * \file
 *         Defines function for creation of component type manifest
 *         for 'ROS'
 *
 * \author
 *         This file has been generated by the CHROMOSOME Modeling Tool (XMT)
 *         (fortiss GmbH).
 */
 
#ifndef ROSGATEWAY_ADV_ROS_MANIFEST_H
#define ROSGATEWAY_ADV_ROS_MANIFEST_H

/******************************************************************************/
/***   Includes                                                             ***/
/******************************************************************************/
#include "xme/core/manifestTypes.h"

#include "xme/hal/include/mem.h"
#include "xme/hal/include/safeString.h"

/******************************************************************************/
/***   Type definitions                                                     ***/
/******************************************************************************/
/**
 * \enum   Enhancement of xme_core_componentType_t
 *
 * \brief  Defines an additonal component manifest type that is available
 *         for XME.
 */
enum
{
    XME_CORE_COMPONENT_TYPE_ROS = 4099U ///< Component type value for ROS.
};

/******************************************************************************/
/***   Prototypes                                                           ***/
/******************************************************************************/

XME_EXTERN_C_BEGIN

/**
 * \brief  Create manifest for for component type 'ROS'.
 *         Component type id: 4099.
 *
 * \param  componentManifest Pointer to component type manifest structure that
 *         will be populated. Must not be NULL.
 *
 * \retval XME_STATUS_INVALID_PARAMETER when componentManifest is NULL.
 * \retval XME_STATUS_SUCCESS when componentManifest has been created
 *         successfully.
 */
xme_status_t
rOSGateway_adv_rOS_manifest_createComponentTypeManifest
(
    xme_core_componentManifest_t* componentManifest
);

XME_EXTERN_C_END

#endif // #ifndef ROSGATEWAY_ADV_ROS_MANIFEST_H
